/*
  File:    Microenvironment.h
  Purpose: Utilities to update the microenvironment, including:
               matrix degrading enzyme
               fibronectin
               structure
               mobility?

  Contact: Paul Macklin
           pmacklin@math.uci.edu
		  http://math.uci.edu/~pmacklin
*/

bool CreateMDEdiffusivityPolynomial( void );
bool UpdateMDEdiffusivity( void );
bool IterateECM( double ds );

bool IterateBVD( double ds );

double MDEsourceFunction(double mde, double x, double y,int i,int j);
double MDEdiffusionCoefficientFunction( double mde,double x, double y,int i,int j);
double DRGsourceFunction(double mde, double x, double y,int i,int j);
double DRGsourceFunctionP(double mde, double x, double y,int i,int j);
double DRGdiffusionCoefficientFunction( double mde,double x, double y,int i,int j);

double ZeroFunctionBC_MDE( double );
double ZeroFunctionBC_DRG( double );

bool IterateMDE( double ds , double Tolerance );
bool IterateDRG_M( double ds , double Tolerance );
bool IterateDRG_P( double ds , double Tolerance );

bool UpdateMicroenvironment( void );
